package com.uwo.house.service;

import com.uwo.house.beans.request.DesignProductionReq;
import com.uwo.house.beans.request.DesignSchemeReq;
import com.uwo.house.beans.request.MeasureCenterReq;
import com.uwo.house.beans.request.MeasureCenterSurveyReq;
import com.uwo.house.beans.response.OrderDesignDetail;
import org.apache.ibatis.annotations.Param;

import java.io.IOException;
import java.net.Inet4Address;
import java.util.List;
import java.util.Map;

/**
 * Created by PHS on 2017/7/22.
 *
 */
public interface IDesignCenterService {
    /**
     * 设计人员接单
     */
    int reviceOrder(Integer orderStatus, String orderId, String userId);

    /**
     * 显示测量人员上传的调查信息
     */
    MeasureCenterSurveyReq showFormData(String orderId);

    /**
     * 设计师端显示测量数据详情
     */
    MeasureCenterReq getOrderInfo(String orderId);

    /**
     * 设计师进入上传方案页面  需要查询订单的详细信息
     */
    MeasureCenterReq getOrderSpecialInfo(String orderId);

    /**
     * 设计师上传设计方案
     */
    int addDesignScheme(DesignSchemeReq designSchemeReq) throws IOException;

    /**
     * 设计师查询方案信息
     */
    DesignSchemeReq findDesignScheme(String orderId, String userId);

    /**
     * 客户端未确认方案时，设计师修改方案
     */
    int updateDesignScheme(String orderId, String userId);

    /**
     * 设计师删除完成订单
     */
    int deleteOrderStatus(String orderId, String userId);


    /**
     * 得到所有作品
     */
    List<DesignProductionReq> getAllProduction(String str);

    /**
     * 查看所有作品的作品详情
     */
    DesignProductionReq getProductionDetail(Integer id);

    /**
     * 设计师端我的作品显示
     */
    List<DesignProductionReq> getProduction(String userId);

    /**
     * 设计师端删除我的作品
     */
    int deleteProduction(Integer id);

    /**
     * 查看我的作品详情
     */
    DesignProductionReq getProductionById(Integer id);

    /**
     * 修改设计师作品
     */
    int updateProduction(DesignProductionReq designProductionReq);

    /**
     * 设计师上传我的作品
     */
    int insertProduction(DesignProductionReq designProductionReq);

    /**
     * 获取设计订单详情
     *
     * @param id
     * @return
     */
    OrderDesignDetail getOrderDataDetail(Integer id);

}
